草庐IT

javascript oop、instanceof 和基类

全部标签

iphone - objective-c 类的默认基类

这个问题的答案可能很明显,但我需要问它才能确定:当类定义中未明确定义基类时,所有ObjectiveC类是否共享一个公共(public)默认基类? 最佳答案 不,如果您没有在类定义中显式定义父类(superclass),您将创建一个rootclass.来自CocoaCoreCompetencies:根类不继承自其他类,并定义其下层次结构中所有对象共有的接口(interface)和行为。该层次结构中的所有对象最终都继承自根类。根类有时称为基类。所有Objective-C类的根类是NSObject,它是Foundation框架的一部分。C

ios - 在基类或扩展 Swift 的静态方法中获取派生类型的类型名称

长话短说将其粘贴到Swiftplayground中:importUIKitpublicprotocolNibLoadable{staticvarnibName:String{get}}extensionNibLoadablewhereSelf:UIView{publicstaticvarnibName:String{returnString(describing:self)}funcprintName(){print(Self.nibName)}}publicclassShoes:UIView,NibLoadable{requiredinit?(coderaDecoder:NSCode

swift - 如何从泛型类 <T> 调用基类的静态方法?

我正在尝试从通用子类调用基类中的静态方法。请参阅下面的简化Playground代码。调用非静态“转储”功能有效。类似的静态调用失败。对数组进行类型转换的各种尝试也都失败了。在完整的生产代码中,“ClassA”位于第3方模块中,无法更改。它可以进一步分割和扩展。Swift是否提供一些神奇的类型转换让ClassT直接调用ClassA.dump()?classClassT{vardict=[String:T]()funcadd(key:String,obj:T){dict[key]=objletarr=Array(dict.values)dump(arr)//works->butnotase

ios - 修改 UIObject 的基类与修改 CALayer 有什么区别?

所以我一直在摆弄UI元素,发现很多事情都需要使用UIElement.layer来为UIElement本身的元素设置样式,即使它们都有很多相似的属性。使用有什么区别letbutton=UIButton()button.backgroundColor(color)结束letbutton=UIButton()button.layer.backgroundColor(color)或者可以在UI元素上设置的任何其他属性? 最佳答案 两者都是设置backedlayer的背景色,设置UIView的backgroundColor属性会调用CALay

ios - Swift:将子类类型的对象分配给具有泛型的基类类型的变量会产生错误

我想分配一个继承自其父类(BaseLectureViewController)的子类(TapWhatYouHearViewController))使用继承类型(TapWhatYouHear)将泛型实现为父类类型的变量(BaseLectureViewController)与类型基类(游戏)的泛型。Swift产生以下错误:Swift::Error:cannotassignvalueoftype'TapWhatYouHearViewController'totype'BaseLectureViewController?'我读过,一个解决方案,例如在Java中会使用通配符泛型,但这在Swift

oop - 如何将对象从其基类转换为子类

我有一个User类,它是PFUser类的子类:classUser:PFUser{varisManager=false}在我的一个方法中,我收到一个PFUser对象,我想将它转换为一个User对象funcsignUpViewController(signUpController:PFSignUpViewController!,didSignUpUseruser:PFUser!){currentUser=user}这可能吗? 最佳答案 这种类型的转换是向下转换。给定一个您知道存在子类的基类的实例,您可以尝试使用类型转换运算符as进行向下

swift - 在基类中实现 Swift 协议(protocol)方法

我有一个Swift协议(protocol),它定义了如下方法:protocolMyProtocol{classfuncretrieve(id:String)->Self?}我有几个不同的类将符合这个协议(protocol):classMyClass1:MyProtocol{...}classMyClass2:MyProtocol{...}classMyClass3:MyProtocol{...}每个子类中retrieve方法的实现几乎相同。我想将这些函数的通用实现拉入符合协议(protocol)的共享父类(superclass)中:classMyBaseClass:MyProtocol

ios - 从基类扩展委托(delegate)

我有一个objc基类:@protocolBaseClassDelegate;@interfaceBaseClass:NSObject@property(nonatomic,weak)iddelegate;@end@protocolBaseClassDelegate-(void)baseDelegateMethod;@end我正在创建一个swift子类,我想在其中扩展我的委托(delegate)...protocolSubClassDelegate:BaseClassDelegate{funcadditionalSubClassDelegateMethod();}classSubClas

java - Java 的 instanceof 和 isInstance() 在 VB 中的等价物是什么?

本着c#的精神问题..在VB.NET中比较类类型的等效语句是什么? 最佳答案 您是否在寻找类似TypeOf的内容?这仅适用于引用类型,不适用于int/etc。IfTypeOf"value"IsStringThenConsole.WriteLine("'tisastring,m'lord!")或者您想比较两个不同的变量实例?也适用于ref类型:DimoneAsObject="notanobject"DimtwoAsObject="alsonotanobject,exactly"DimthreeasObject=3DIfone.GetT

java - 什么时候使用 instanceof 才是正确的决定?

正如我一直所理解的,主要情况是instanceof合适的是:实现Object.equals(Object).所以如果我正在写一个List类,而不是扩展AbstractList无论出于何种原因,我都会实现equals(o)通过第一次测试oinstanceofList,然后比较元素。对不改变语义而只改变性能的特殊情况的重要(算法?)优化。例如,Collections.binarySearch做instanceofRandomAccess测试,并对RandomAccess使用稍微不同的二分搜索和非RandomAccess列表。我不认为instanceof在这两种情况下代表代码异味。但是在其他